package com.intelligent.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.intelligent.pojo.ProcessManagement;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author lenovo
* @description 针对表【process_management(工艺管理表)】的数据库操作Service
* @createDate 2025-09-01 17:28:54
*/
public interface ProcessManagementService extends IService<ProcessManagement> {

    /**
     * 分页查询工艺管理信息（包含关联数据）
     * @param page 分页参数
     * @param processCode 工艺编号
     * @param processName 工艺名称
     * @param productCode 产品编号
     * @param productName 产品名称
     * @param status 状态
     * @return 分页结果
     */
    IPage<ProcessManagement> getProcessManagementPage(Page<ProcessManagement> page,
                                                     String processCode,
                                                     String processName,
                                                     String productCode,
                                                     String productName,
                                                     Integer status);

    /**
     * 添加工艺管理信息（自动生成工艺编号）
     * @param processManagement 工艺管理信息
     * @return 是否添加成功
     */
    boolean addProcessManagement(ProcessManagement processManagement);

    /**
     * 更新工艺管理信息
     * @param processManagement 工艺管理信息
     * @return 是否更新成功
     */
    boolean updateProcessManagement(ProcessManagement processManagement);

    /**
     * 删除工艺管理信息
     * @param id 记录ID
     * @return 是否删除成功
     */
    boolean deleteProcessManagement(Long id);

    /**
     * 根据ID查询工艺管理信息（包含关联数据）
     * @param id 记录ID
     * @return 工艺管理信息
     */
    ProcessManagement getProcessManagementById(Long id);
}
